package com.h3c.ptability.utils;

/**
 * 常量定义
 */
public class BusiEnumDefine {
    public static final Integer COMMON_BUSI_ERROR_CODE = 21999;
    public static final String COMMON_UNKNOWN = "-1";
    public static final String COMMON_SYSTEM = "系统自动过滤";

    public static final String DOMAIN_ACCT_PREFIX = "USER-";
    //手机验证码redis key 前缀
    public static final String REDIS_AUTH_CODE_PREFIX = "hrssc:user-auth-code-";

    public static final int FLAG_YES = 1;
    public static final int FLAG_NO = 2;

    public static final int USER_ROLE_ADMIN = 1;//超级管理员
    public static final int USER_ROLE_APP_ADMIN = 2;//应用管理员
    public static final int USER_ROLE_ROLE_ADMIN = 3;//应用角色管理员

    public static final String REDIS_PREFIX_NAME = "pt-manage:";
    public static final String PT_LOG_APP_NAME = "ptability-manage";

    public static final String SYSTEM_RUN_MODE_TEST = "test";
    public static final String SYSTEM_RUN_MODE_PROD = "prod";
    //发邮件通知开关
    public static final String NOTICE_MAIL_SEND_YES = "1";

    public static final int SEND_NO = 1;
    public static final int SEND_YES = 2;
    public static final int SEND_EXCEPTION = 3;

    //收件人类型： 0为收件人，1为抄送人，2为秘送人
    public static final Short SEND_TO_ADDRESS = 0;
    public static final Short COPY_TO_ADDRESS = 1;
    public static final Short BLIND_CARBON_TO_ADDRESS = 2;

    public static final int NOTICE_TYPE_EMAIL = 1;//邮件
    public static final int NOTICE_TYPE_SMS = 2;//短信
    public static final int NOTICE_TYPE_WX_OFFICIAL = 3;//微信公众号

    public static final int EOS_MSG_TYPE_QYWX = 1; //企微消息
    public static final int EOS_MSG_TYPE_SMS = 2; //企微消息
    public static final int EOS_MSG_TYPE_EMAIL = 3; //邮件
    public static final int EOS_MSG_TYPE_BUSI_MSG = 4; //业务消息

    public static final int MAX_LENGTH_PER_SMS = 1000;//每条短信最多的字符数

    public static final String FLOW_MONTH_FILL = "N1";//月度承诺填写审核流程
    public static final String FLOW_MONTH_FILL_NAME = "月度承诺填写审核流程";//月度承诺填写审核流程
    public static final String FLOW_MONTH_APPRAISAL = "N2";//月度考核流程
    public static final String FLOW_MONTH_APPRAISAL_NAME = "月度考核流程";//月度考核流程
    public static final String FLOW_TRANSFER_FILL = "N3";//转正计划填写审核流程
    public static final String FLOW_TRANSFER_FILL_NAME = "转正计划填写审核流程";//转正计划填写审核流程
    public static final String FLOW_TRANSFER_APPRAISAL = "N4";//转正考核评价流程
    public static final String FLOW_TRANSFER_APPRAISAL_NAME = "转正考核评价流程";//转正考核评价流程
    public static final String FLOW_TASK = "N5";//小任务流程

    //订单状态：1 名单核对；2 主管初评；3 一级主管复核；4 待提交公司审批；5 薪酬设计部主管审核；6 CHRO审批； 7 CEO审批； 8 审批完成；9 已归档； 10 已取消；
    public static final int ORDER_STATUS_LIST_CHECK = 1;
    public static final int ORDER_STATUS_DIR_ASSESSMENT = 2;
    public static final int ORDER_STATUS_PRIMARY_LOAD = 3;
    public static final int ORDER_STATUS_WAIT_APPROVE = 4;
    public static final int ORDER_STATUS_DESIGN_APPROVE = 5;
    public static final int ORDER_STATUS_CHRO_APPROVE = 6;
    public static final int ORDER_STATUS_CEO_APPROVE = 7;
    public static final int ORDER_STATUS_FINISH_APPROVE = 8;
    public static final int ORDER_STATUS_ARCHIVED = 9;
    public static final int ORDER_STATUS_CANCEL = 10;
    //--end-- 订单状态
    //订单操作：1 通过 ；2 回退； 9 归档；10 取消； 11 转办
    public static final int ORDER_OPE_APPROVE = 1;
    public static final int ORDER_OPE_BACKUP = 0;
    public static final int ORDER_OPE_ARCHIVED = 9;
    public static final int ORDER_OPE_CANCEL = 10;
    public static final int ORDER_OPE_TRANSFER = 11;
    public static final int ORDER_OPE_REJECT = 12;

    //流程状态：11 填写月度工作承诺；12 月度承诺审核；13 月度考核评价；
    // 21 填写转正计划；22 转正计划审核;23 转正考核评价；
    // 31 执行小任务；32 审核小任务；
    // 99 已完成； -1 终止；
    public static final int FLOW_STATUS_MONTH_FILL_PLAN = 11;
    public static final int FLOW_STATUS_MONTH_CHECK_PLAN = 12;
    public static final int FLOW_STATUS_MONTH_EXAM = 13;

    public static final int FLOW_STATUS_FINAL_FILL_PLAN = 21;
    public static final int FLOW_STATUS_FINAL_CHECK_PLAN = 22;
    public static final int FLOW_STATUS_FINAL_EXAM = 23;

    public static final int FLOW_STATUS_EXECUTE_TASK = 31;
    public static final int FLOW_STATUS_CHECK_TASK = 32;

    public static final int FLOW_STATUS_FINISH = 99;
    public static final int FLOW_STATUS_ABORT = -1;

    //--end-- 订单状态
    //审批渠道
    public static final int APPROVE_CHANNEL_PC = 1;
    public static final int APPROVE_CHANNEL_MOBILE = 2;
    //end  审批渠道

    public static final int APPROVAL_RESULT_ACCEPT = 1;
    public static final int APPROVAL_RESULT_REFERCE = 2;
    public static final int APPROVAL_RESULT_TRANSFER = 3;
    public static final int APPROVAL_RESULT_BACKUP = 4;
    public static final int APPROVAL_RESULT_ARCHIVE = 5;

    //文件模板
    public static final String IMPORT_WORKER_LIST = "IMPORT_WORKER_LIST"; //导入调薪人员

    public static final int DATA_SRC_IMPORT = 2; //导入
    public static final int DATA_SRC_SYNC = 1; //同步

    public static final String TODO_PCDETAIL_YES = "1";
    public static final String TODO_PCDETAIL_NO = "0";

    public static final int SYNC_DEPT_MODE_NEW = 1;
    public static final int SYNC_DEPT_MODE_UPDATE = 2;

    //部门状态 true 存在，正常使用； false 不存在，放弃使用；
    public static final boolean PD_DEPT_STATUS_NORMAL = true;
    public static final boolean PD_DEPT_STATUS_ABNORMAL = false;

    //待办状态值 status
    public static final String PERFORMANCE_TODO_WAITING = "WAITING";  //待提交
    public static final String PERFORMANCE_TODO_APPROVING = "APPROVING";  //审批中
    public static final String PERFORMANCE_TODO_APPROVED = "APPROVED";  //完成
    public static final String ORDER_ARCHIVED_WORKER = "finish_order"; //归档人枚举

    public static final String PBC_IMPORT = "PBC_IMPORT";

    public static final String DEPT_JITUANDAIBIAOCHU = "集团代表处";
    public static final String DEPT_JISHUFUWUBU = "技术服务部";
    public static final String DEPT_ZHONGGUOQU = "中国区";
    public static final String DEPT_JIEJUEFANGANBU = "解决方案部";
    public static final String DEPT_XINHUASAN= "新华三/";

    public static final String DEPTID_JITUANDAIBIAOCHU = "50042992";
    public static final String DEPTID_JISHUFUWUBU = "50040772";
    public static final String DEPTID_ZHONGGUOQU = "50040118";
    public static final String DEPTID_JIEJUEFANGANBU = "50042385";
    public static final Integer H3C_CODE = 50040000;

    public static final String TODO_ACCEPT_PC = "1"; //仅PC端处理
    public static final String TODO_ACCEPT_MOBILE = "2"; //仅移动端端处理
    public static final String TODO_ACCEPT_PC_MOBILE = "3"; //PC和移动端处理

    public static final int NO_COMMUNICATION_PERSON = 0; //待启动沟通
    public static final int NO_COMMUNICATION = 1; //沟通进行中
    public static final int COMMUNICATED = 2; //已沟通

    public static final String SUB_REIDS = "SUBPKGID_"; //PC和移动端处理

    //上传sfs文件类型
    public static final int TASK_ATTACHMENT = 1; //提交小任务附件
    public static final int PROMISE_ATTACHMENT = 2;//员工承诺附件

    public static final String PRE_WORKER_EXPORT = "PRE_WORKER_EXPORT";
    public static final String NEW_WORKER_EXPORT = "NEW_WORKER_EXPORT";

    public static final Integer PROMISE_BUSI_TARGET = 1;
    public static final Integer PROMISE_PERSONAL_IMPROVE = 2;

    //审批流程编号:N1 月度承诺填写审核流程；N2 月度考核流程；N3 转正计划填写审核流程；N4 转正考核评价流程； N5 小任务流程；
    public static final String flowCodeMonthlyPromise = "N1";
    public static final String flowCodeMonthlyCheck = "N2";
    public static final String flowCodeTurnFormalPlan = "N3";
    public static final String flowCodeTurnFormalCheck = "N4";
    public static final String flowCodeLittleTask = "N5";

    public static final String flowNameMonthlyPromise = "月度承诺审核流程";
    public static final String flowNameMonthlyCheck = "月度考核流程";
    public static final String flowNameTurnFormalPlan = "转正计划审核流程";
    public static final String flowNameTurnFormalCheck = "转正考核评价流程";
    public static final String flowNameLittleTask = "小任务流程";

    //流程状态：11 填写月度工作承诺；12 月度承诺审核；13 月度考核评价；21 填写转正计划；22 转正计划审核;23 转正考核评价；31 执行小任务；32 审核小任务；99 已完成；
    public static final int flowStatusMonthlyPromise = 11;
    public static final int flowStatusMonthlyPromiseExamine = 12;
    public static final int flowStatusMonthlyPromiseCheck = 13;
    public static final int flowStatusTurnFormalPlan = 21;
    public static final int flowStatusTurnFormalExamine = 22;
    public static final int flowStatusTurnFormalCheck = 23;
    public static final int flowStatusLittleTaskDoing = 31;
    public static final int flowStatusLittleTaskExamine = 32;
    public static final int flowStatusFinished = 99;
    public static final int flowStatusTermination = 100;

    public static final String currentStageMonthlyPromise = "填写月度工作承诺";
    public static final String currentStageMonthlyPromiseExamine = "月度承诺审核";
    public static final String currentStageMonthlyPromiseCheck = "月度考核评价";
    public static final String currentStageTurnFormalPlan = "填写转正计划";
    public static final String currentStageTurnFormalExamine = "转正计划审核";
    public static final String currentStageTurnFormalCheck = "转正考核评价";
    public static final String currentStageLittleTaskDoing = "执行小任务";
    public static final String currentStageLittleTaskExamine = "审核小任务";
    public static final String currentStageFinished = "已完成";
    public static final String currentStageTermination = "终止";

    //代办节点ID  nodeId
    public static final String MONTH_WORK_PROMISE = "MONTH_WORK_PROMISE";//填写月度工作承诺         PC端
    public static final String MONTH_PROMISE_APPROVAL = "MONTH_PROMISE_APPROVAL";//月度承诺审核   统一审批
    public static final String MONTH_EVALUATION = "MONTH_EVALUATION";//月度考核评价               统一审批
    public static final String REGULARIZATION_PLAN = "REGULARIZATION_PLAN";//填写转正计划         PC端
    public static final String REGULARIZATION_PLAN_APPROVAL = "REGULARIZATION_PLAN_APPROVAL";//转正计划审核   统一审批
    public static final String REGULARIZATION_EVALUATION = "REGULARIZATION_EVALUATION";//转正考核评价         统一审批

    //审批类型 11 提交月度个人承诺；12 考核人月度审核；13 月度考核人评价；21 提交转正计划；22 考核人审核;23 考核人评价；31 提交小任务；32 审核小任务；91 流程控制；92 转办；93 终止

    public static final int APPROVAL_TYPE_MONTHLY_PROMISE = 11;
    public static final int APPROVAL_TYPE_MONTHLY_PROMISE_EXAMINE = 12;
    public static final int APPROVAL_TYPE_MONTHLY_PROMISE_CHECK = 13;
    public static final int APPROVAL_TYPE_TURN_FORMAL_PLAN = 21;
    public static final int APPROVAL_TYPE_TURN_FORMAL_EXAMINE = 22;
    public static final int APPROVAL_TYPE_TURN_FORMAL_CHECK = 23;
    public static final int APPROVAL_TYPE_LITTLE_TASK_DOING = 31;
    public static final int APPROVAL_TYPE_LITTLE_TASK_EXAMINE = 32;
    public static final int APPROVAL_TYPE_FLOW_CONTROL = 91;
    public static final int APPROVAL_TYPE_TRANSFER = 92;
    public static final int APPROVAL_TYPE_FINISHED = 99;

    //流程阶段：11 已创建第一个月承诺流程；12 已创建第一个月考核流程；21 已创建第二个月承诺流程；依此类推；
    public static final int FLOW_STAGE_MONTHLY_PROMISE_FIRST = 11;

    //员工状态：1 待启动考核；2 考核进行中；3 已转正；4 已淘汰；5、已终止
    public static final int WORKER_STATUS_WAIT = 1;
    public static final int WORKER_STATUS_CONDUCT = 2;
    public static final int WORKER_STATUS_CORRECTED = 3;
    public static final int WORKER_STATUS_ELIMINATED = 4;
    public static final int WORKER_STATUS_TERMINATED = 5;

    //审核提交情况
    public static final int APPROVAL_APPROVE = 1; //通过
    public static final int APPROVAL_BACKUP = 2;  //回退
    public static final int APPROVAL_TRANSFER = 3; //转办

    //邮件模板
    public static final String NEW_TASK_EMAIL = "NEW_TASK_EMAIL";  //发布小任务
    public static final String TASK_FINISH_SUBMIT = "TASK_FINISH_SUBMIT";  //提交小任务
    public static final String APPROVAL_BACKUP_TASK = "APPROVAL_BACKUP_TASK";  //小任务驳回


    public static final String DATE_FORMAT_YYYYMMDD = "yyyyMMdd";
    public static final String DATE_FORMAT_YYYY_MM_DD = "yyyy-MM-dd";


    //----------------------------------------人力预算报表的授权部门角色：----------------------------------------//
    /**
     * 人力预算：EOS租户ID
     */
    public static final String HR_BUDGET_APP_ID = "hrdataboard";
    /**
     * 人力预算角色：一二级部门主管
     */
    public static final String HR_BUDGET_DEPT_MANAGE = "hr_budget_dept_manage";
    /**
     * 人力预算角色：干部部长和BP
     */
    public static final String HR_BUDGET_CADRE_BP = "hr_budget_cadre_bp";
    /**
     * 人力预算角色：招聘调配部
     */
    public static final String HR_BUDGET_RECRUIT_MIX = "hr_budget_recruit_mix";
    /**
     * 人力看板角色：其他特殊人员授权
     */
    public static final String HR_BUDGET = "hr_budget";
    /**
     * 集团代表处部门编码
     */
    public static final String HR_BUDGET_JITUAN_CODE = "50045156, 50042992";

    //----------------------------------------人力动态看板的授权部门角色：----------------------------------------//
    /**
     * 人力动态看板：EOS租户ID
     */
    public static final String HR_DYNAMIC_APP_ID = "hr-dynamic-board";
    /**
     * 人力动态看板角色：干部部长+bp 手动授权
     */
    public static final String HR_DYNAMIC_BOARD_CADRE_BP = "hr_dynamic_board_cadre_bp";
    /**
     * 人力动态看板角色：一二三级部门主管自动授权
     */
    public static final String HR_DYNAMIC_BOARD_MANAGE = "hr_dynamic_board_manage";
    /**
     * 人力动态看板角色：专业用户 自动授权 全部公司
     */
    public static final String HR_DYNAMIC_BOARD_MAX = "hr_dynamic_board_max";
    /**
     * 人力动态看板角色：其他人群 手工授权
     */
    public static final String HR_DYNAMIC_BOARD_OTHER = "hr_dynamic_board_other";



    //----------------------------------------干部管理平台的授权部门角色：----------------------------------------//
    /**
     * 干部管理平台：EOS租户ID
     */
    public static final String HR_LEADER_APP_ID = "hr-leader";
    /**
     * 干部管理平台角色：干部部长+bp 手动授权
     */
    public static final String HR_LEADER_CADRE_BP = "hr_leader_bp";
    /**
     * 干部管理平台角色：一级部门主管自动授权
     */
    public static final String HR_LEADER_MANAGER = "hr_leader_manager";
    /**
     * 干部管理平台角色：专业用户 自动授权 全部公司
     */
    public static final String HR_LEADER_MAX = "hr_leader_max";
    /**
     * 干部管理平台角色：其他人群 手工授权
     */
    public static final String HR_LEADER_OTHER = "hr_leader_other";
}
